$(function () {
    $("#menu_grid").treegrid({
        /*自适应*/
        fit: true,
        /*向此地址发送请求获得数据填充表格*/
        url: "/menu/selectRootMenu.do",
        //定义关键字段来标识树节点
        idField: 'id',
        treeField: "text",
        columns: [[
            {field: 'text', title: "菜单名称", width: 180},
            {field: 'url', title: "请求地址", width: 180},
        ]],
        toolbar: "#tb",
        animate: true,
        rownumbers: true
    })

    //对弹窗进行初始化
    $("#menu_dialog").dialog({
        width: 320,
        height: 280,
        resizable: true,
        buttons: '#form_btn',
        closed: true,
        onClose: function () {
            $("#menu_form").form('clear');
        }
    })
})

function add() {
    var row = $("#menu_grid").datagrid("getSelected");
    if (!row) {
        $.messager.alert("温馨提示", "请选中一条数据", "warning");
        return;
    }
    row["parent.id"] = row.id;
    row["text"] = ""
    row["url"] = ""
    row["id"] = ""
    $("#menu_form").form('load', row);
    $("#menu_dialog").dialog('setTitle', '增加菜单');
    $("#menu_dialog").dialog('open');
}

function edit() {
    var row = $("#menu_grid").datagrid("getSelected");
    if (!row) {
        $.messager.alert("温馨提示", "请选中一条数据", "warning");
        return;
    }
    if (row.parent) {
        row["parent.id"] = row.parent.id;
    }
    $("#menu_form").form('load', row);
    //打开弹窗
    $("#menu_dialog").dialog('setTitle', '编辑菜单');
    $("#menu_dialog").dialog('open');
}

function reload() {
    $("#menu_grid").treegrid('reload');
}

//表单中的按键
function save() {
    $("#menu_form").form('submit', {
        url: "/menu/saveOrUpdate.do",
        success: function (data) {
            var data = $.parseJSON(data);
            if (data.success) {
                $.messager.alert('温馨提示', '保存成功', 'info', function () {
                    cancel();
                    $("#menu_grid").treegrid('reload');
                })
            } else {
                $.messager.alert('温馨提示', data.msg, 'warning');
            }
        }
    })
}

function cancel() {
    $("#menu_dialog").dialog('close');
}

function del() {
    var row = $("#menu_grid").datagrid("getSelected");
    if (!row) {
        $.messager.alert("温馨提示", "请选中一条数据", "warning");
        return;
    }
    $.post("/menu/delete.do", {id: row.id}, function (data) {
        if (data.success) {
            $.messager.alert('温馨提示', '删除成功', 'info', function () {
                cancel();
                $("#menu_grid").treegrid('reload');
            });
        } else {
            $.messager.alert('温馨提示', '删除失败.请重新执行', 'warning')

        }
    })

}
